import { login } from '../../API/index.js'
Page({

  /**
   * 页面的初始数据
   */
  data: {
      NavTitle: "登录中心",
      userInfo: {
        userId: "",
        password: "",
        role: ""
      },
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      'userInfo.role': options.role
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 登录按钮点击事件
   */
  async handleLoginClick() {
    const { userId, password, role } = this.data.userInfo;
    if (!userId || !password) {
      wx.showToast({
        title: '请输入账号密码',
        icon: 'none'
      });
      return;
    }
    
    // 显示等待弹窗
    wx.showLoading({
      title: '登录中...',
      mask: true // 防止用户操作
    });
    
    try {
      // 发送网络请求
      const res = await login.loginAPI({userId, password, role})
      console.log('登录响应:', res)
      
      // 关闭等待弹窗
      wx.hideLoading();
      
      if(res.meta.code !== 200) {
        wx.showToast({
          title: res.meta.msg || '登录失败',
          icon: 'error'
        })
        return;
      }
      
      // 存储token和用户信息
      wx.setStorageSync('token', res.data.token)
      wx.setStorageSync('userId', res.data.userId)
      wx.setStorageSync('role', role)
      
      wx.showToast({
        title: '登录成功',
        icon: 'success',
        duration: 1500
      })
      
      // 根据身份跳转到对应界面
      setTimeout(() => {
        if (role === 'student') {
          wx.reLaunch({
            url: '/pages/home/studentHome/studentHome'
          })
        } else if (role === 'teacher') {
          wx.reLaunch({
            url: '/pages/home/teacherHome/teacherHome'
          })
        } else {
          // 默认跳转到学生首页
          wx.reLaunch({
            url: '/pages/home/studentHome/studentHome'
          })
        }
      }, 1500)
      
    } catch (error) {
      // 关闭等待弹窗
      wx.hideLoading();
      
      console.error('登录失败:', error)
      wx.showToast({
        title: '登录失败，请重试',
        icon: 'error'
      })
    }
  },

  /**
   * 账号输入框变化事件
   */
  handleAccountChange(e) {
    this.setData({
      'userInfo.userId': e.detail.value
    });
  },

  /**
   * 密码输入框变化事件
   */
  handlePasswordChange(e) {
    this.setData({
      'userInfo.password': e.detail.value
    });
  },

  /**
   * 注册按钮点击事件
   */
  navBarToRegister() {
    wx.navigateTo({
      url: '/pages/chooseRole/chooseRole?type=register',
    })
  },
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})